package main

import "fmt"

//嵌套循环就是把内层循环当成外层循环的循环体
func main() {
	//1统计3个班成绩情况，每个班有5名学生
	//求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入]

	//分析实现思路
	//1统计1个班级成绩情况，每个班有5名同学，求出该班的平均分[学生的成绩从键盘输入]=>先易后难
	//2学生数就是5个[先死后活]

	//分析实现思路2
	//1统计3个班成绩情况，每个班有5名同学，求出每个班的平均分
	//2j表示第几个班级
	//3定义一个变量存放总成绩

	//分析实现思路3
	//1我们可以把代码做活
	//2定义两个变量，表示班级的个数和班级的人数

	//统计三个班级及格人数，每个班有5个同学
	//分析思路
	//声明变量passCount 用于保存及格人数
	var classNum int = 3
	var stuNum int = 5
	var totalSum float64 = 0.0
	var passCount int = 0
	for j := 1; j <= classNum; j++ {
		sum := 0.0
		for i := 1; i <= stuNum; i++ {
			var score float64
			fmt.Printf("请输入第%d班 第%d个学生的成绩\n", j, i)
			fmt.Scanln(&score)
			//累计总分
			sum += score
			//判断分数是否及格
			if score >= 60 {
				passCount++
			}
		}
		fmt.Printf("第%d个班级的平均分%v\n", j, sum/float64(stuNum))
		//将各个班的总成绩累计到totalSum
		totalSum += sum
	}
	fmt.Printf("各个班级的总成绩%v 所有班级平均分是%v\n", totalSum, totalSum/float64(stuNum*classNum))
	fmt.Printf("及格人数为%v\n", passCount)

	//打印出九九乘法表
	//1表示层数
	var num int = 3
	for i := 1; i <= num; i++ {
		for j := 1; j <= i; j++ {
			fmt.Printf("%v * %v = %v \t", j, i, j*i)
		}
		fmt.Println()
	}
}
